#!/usr/bin/python3
# _*_ coding: utf-8 _*_
#
# Copyright (C) 2023 - 2023 heihieyouheihei, Inc. All Rights Reserved 
#
# @Time    : 2023/1/4 21:46
# @Author  : heihieyouheihei
# @File    : base5_grammar_13.py
# @IDE     : PyCharm

# 替换字符串使用sub()方法实现
# re.sub(pattern,repl,string,count,flags)    标志位: re.l: 不区分字母大小写 re.A: 让\w不匹配汉字
# re.方法名(用来匹配的模式字符串; 用来进行替换的字符串; 要查找的被替换的原始字符串; 进行模式匹配后替换的最大次数,默认值是0; 标志位用来控制匹配方式的)

import re
pattern = r'1[34578]\d{9}'    # 模式字符串,1开头,下面是[3.4.5.7.8]中的任意一个,跟上1个9位的数字
string = "中奖号码:84978981 联系电话:13611111111"
result = re.sub(pattern,"1XXXXXXXXXX",string)    # 变量result用来保存变量的替换结果, 替换字符串
print(result)
print('\n')

# 实例: 替换出现的危险字符
# 我是一名程序员, 我喜欢看@_@方面的图书,想研究一下@_@.
# 我是一名程序员, 我喜欢看计算机网络方面的图书, 喜欢开发网站.
import re
pattern = r'(黑客)|(抓包)|(监听)|(Trojan)'    # 模式字符串
about = '我是一名程序员, 我喜欢看黑客方面的图书, 想研究一下Trojan.'
match = re.sub(pattern,"@_@",about)    # 字符串中的"黑客"和"Trojan"用"@_@"替换掉了
print(match)    # 输出替换结果


